以下属性可用于为基于文本的视图(如 Text
或 Label
)设置样式和格式,其功能与 SwiftUI 的内建修饰符类似。通过自定义这些属性,您可以控制文本的字体、字重、设计、间距及其他排版特性。
这些属性通常作为属性传递给与文本相关的组件,如 Text
或 Label
。例如,您可以设置字体大小、启用加粗格式,或添加自定义颜色的下划线——无需手动调用多个修饰符。
在上面的示例中,文本使用了自定义字体、半粗体、斜体风格、红色下划线,限制为两行,并居中对齐。
font
定义文本的字体和大小。
14
)时,将应用该大小的系统字体。Font
类型):使用内建的文本样式之一(如 "largeTitle"
、"title"
、"headline"
、"subheadline"
、"body"
、"callout"
、"footnote"
、"caption"
)。系统会根据样式决定大小和字重。name
和 size
来应用自定义字体。fontWeight
设置字体的粗细程度。可选值包括从 "ultraLight"
到 "black"
。
fontWidth
指定字体的宽度变体(如果可用)。可选值有 "compressed"
、"condensed"
、"expanded"
和 "standard"
,也可以使用数字(如果支持)。
fontDesign
修改字体设计风格。可选值包括 "default"
、"monospaced"
、"rounded"
、"serif"
。
minScaleFactor
一个介于 0 到 1 之间的数字,表示当文本超出空间限制时最多可以缩小到原始大小的多少。例如,0.5
表示文本可以缩小到 50%。
bold
如果为 true
,应用加粗字体。
baselineOffset
调整文本相对于基线的垂直位置。正值向上移动,负值向下移动。
kerning
控制字符间距。正值增加间距,负值减小间距。
italic
如果为 true
,应用斜体样式。
monospaced
强制所有子文本使用等宽字体(如果可用)。
monospacedDigit
使用固定宽度数字,而其他字符保持原样。适用于表格或计时器中的数字对齐。
strikethrough
应用删除线(贯穿文本)。可以提供颜色,或一个包含样式和颜色的对象。
strikethrough="red"
strikethrough={{ pattern: 'dash', color: 'blue' }}
underline
以下划线方式装饰文本,使用方式与 strikethrough
类似。
underline="blue"
underline={{ pattern: 'dashDot', color: 'green' }}
lineLimit
指定文本最多显示的行数。可以:
{ min?: number; max: number; reservesSpace?: boolean }
,来指定最小和最大行数,并选择是否预留最大行数空间以避免布局跳动。multilineTextAlignment
设置多行文本的对齐方式:"leading"
(左对齐)、"center"
(居中)或 "trailing"
(右对齐)。
truncationMode
指定文本太长时的截断方式。
定义截断的位置:
"head"
:截断行首,保留末尾。"middle"
:截断中间,保留首尾。"tail"
:截断尾部,保留开头。allowsTightening?: boolean
是否允许系统在必要时压缩字符间距以适应一行内显示。
boolean
false
设置为 true
时,系统可以压缩字距以避免截断,并改善在受限空间下的布局适应性。
通过组合这些属性,您可以完全掌控文本视图的排版,而无需多个包装组件或修饰符。无论您需要加粗、斜体、带自定义字符间距和下划线的标题,还是仅限两行显示的正文文本,这些选项都能满足广泛的文本样式需求。